]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
authPrompt: Use placeholder label to avoid layout changes
authorFlorian Müllner <fmuellner@gnome.org>
Fri, 14 Feb 2020 20:10:04 +0000 (21:10 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Fri, 14 Feb 2020 20:57:03 +0000 (21:57 +0100)
We don't want to show a caps-lock warning when showing a non-password
entry, but we also don't want the layout to jump when changing the
label's visibility.

Achieve that by inserting an empty placeholder label that we can
show whenever the caps-lock warning is hidden.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/2215

js/gdm/authPrompt.js

index 6edb2694a593139db9026981a4555f14b7f598fb..9a8cf44bf58f84da0172e5006f16a475522c73f9 100644 (file)
@@ -85,12 +85,19 @@ var AuthPrompt = GObject.registerClass({
 
         this._initEntryRow();
 
+        let capsLockPlaceholder = new St.Label();
+        this.add_child(capsLockPlaceholder);
+
         this._capsLockWarningLabel = new ShellEntry.CapsLockWarning({
             x_expand: true,
             x_align: Clutter.ActorAlign.CENTER,
         });
         this.add_child(this._capsLockWarningLabel);
 
+        this._capsLockWarningLabel.bind_property('visible',
+            capsLockPlaceholder, 'visible',
+            GObject.BindingFlags.SYNC_CREATE | GObject.BindingFlags.INVERT_BOOLEAN);
+
         this._message = new St.Label({
             opacity: 0,
             styleClass: 'login-dialog-message',